Argumentos passados para o loop for no script bash [duplicado]

Esta pergunta já tem uma resposta aqui:

Variáveis na substituição do bash seq ({1..10}) [duplicado] 7 respostas

Eu estou tentando passar o argumento como limite máximo para o loop for como este:

#!/bin/bash

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

No entanto, isso retorna{1..2} quando chamado com argumento2, em vez de executar o script e me fornecer

1
2

questionAnswers(4)

yourAnswerToTheQuestion