Você pode usar o mesmo formato de qualquer outro array. Para extrair os elementos 2 e 3 de $@ , você faria:
echo "${@:1:2}"
- -
| |----> slice length
|------> slice starting index
Como posso obter uma fatia de $@ no Bash sem antes ter que copiar todos os parâmetros posicionais para outro array como este?
argv=( "$@" )
echo "${argv[@]:2}";