Вы можете изменить дизайн своего скрипта, чтобы использовать "$@" ; или вы можете проверить $# и запустить свои команды соответственно.
Справочное руководство Bash гласит:
$@ Расширяется до позиционных параметров, начиная с единицы. Когда раскрытие происходит в двойных кавычках, каждый параметр раскрывается в отдельное слово. То есть "$@" эквивалентно "$1" "$2" … . […] Когда нет позиционных параметров, "$@" и $@ расширяются до нуля (то есть они удаляются).
awk options "$@"
Если вам нужно использовать несколько параметров командной строки, которые не являются именами файлов, взгляните на встроенную функцию shift .
$# Расширяется до количества позиционных параметров в десятичном формате.
Используйте его с некоторыми условными выражениями, если вам нужно вызывать разные команды, в зависимости от этого числа.