Argumentos pasados para bucle en script bash [duplicado]

Esta pregunta ya tiene una respuesta aquí:

Variables en el reemplazo de bash seq ({1..10}) [duplicado] 7 respuestas

Estoy tratando de pasar el argumento como límite máximo para el ciclo for de esta manera:

#!/bin/bash

for i in {1..$1}
do
    echo $i
done

Esto sin embargo vuelve{1..2} cuando se llama con argumento2, en lugar de ejecutar el script y darme

1
2

Respuestas a la pregunta(4)

Su respuesta a la pregunta