The answer in your specific case is that $* can only be used once per command since each $* does its own iteration. As Khaled said in the referenced thread, $* is no longer supported for specific issues like these and therefore its behaviour is not going to change.