essentially, this method run the `exec` script, waits for it to finish, updates the original input of the `callee`, and execute the `callee` again, in which case the `exec` is gone, and shifter can continue the process.

the bug was that the 3rd argument of the `callee` was not propagated.