>>717
$@を書き換えるのでないなら

while [ $# -gt 0 ]; do
 なにか処理 "$1"
 shift
done