個人見解: 大半は "$@" にしておけば、期待する動作となる
#!/bin/bash
#
# $ dump-vars.sh [args]
#
function dump_vars() {
while [[ "$1" ]]; do
echo "'$1'"
shift
done
}
echo '#1'; dump_vars $@
echo
echo '#2'; dump_vars "$@"
$ ./dump-vars.sh a b c d
#1
'a'
'b'
'c'
'd'
#2
'a'
'b'
'c'
'd'
$ ./dump-vars.sh "a b" "c d"
#1
'a'
'b'
'c'
'd'
#2
'a b'
'c d'