Você pode reformular seu script para usar "$@" ; ou você pode verificar $# e executar seus comandos de acordo.
Manual de referência do Bash declara:
$@Expands to the positional parameters, starting from one. When the expansion occurs within double quotes, each parameter expands to a separate word. That is,"$@"is equivalent to"$1" "$2" …. […] When there are no positional parameters,"$@"and$@expand to nothing (i.e., they are removed).
awk options "$@"
Se você precisar usar alguns parâmetros de linha de comando que não são nomes de arquivos, dê uma olhada em shift builtin.
$#Expands to the number of positional parameters in decimal.
Use-o com algumas condicionais se precisar invocar comandos diferentes, dependendo desse número.