A maneira usual seria salvar uma cópia de arg1 ( "$1"
) e mudar os parâmetros em um, então você pode se referir a toda a lista como "$@"
:
#!/bin/sh
arg1="$1"
shift 1
/path/to/a/program "$@"
O bash tem algum suporte a matriz, é claro, mas não é necessário para a pergunta como foi feita.
Se mesmo arg1 for opcional, você deve verificar isso da seguinte forma:
if [ $# != 0 ]
then
arg1="$1"
shift 1
fi