前スレ 994
http://pc8.2ch.net/test/read.cgi/unix/1131026501/994
>sh -c は引数を1つしか取らないので"$@"は使えませんよ。使うなら"$*"

"$*" じゃ空白を含む引数がそのまま渡せません。問題を取り違えています。


前スレ 995
http://pc8.2ch.net/test/read.cgi/unix/1131026501/995
>sh -c 'foo "$@"' なんて日常茶飯事ですよ。

↑あなたも問題を取り違えています。
それでは "$@"には何も渡りません。

set ' hoge boke ' ' arya korya '
のように空白を含む引数がセットされていて、
これを "$@" で参照しつつ、
sh -c の形式で渡すのが非常に困難という話です。