Just to clarify: the $* identifier allows you to iterate a command over a number of parameters. It does this by evaluating the whole command line once and then executing that for each parameter. However, in your script, you want the entire command line to be re-evaluated at every execution. While it might be possible to implement such a change, it would change the way $* works and all existing scripts that use $* would behave differently.