Aha. This turned out to be a simple problem of there being spaces in the path to the script.
Changing the Invoke-Expression line to:
Invoke-Expression "& `"$scriptPath`" $argumentList"
…was enough to get it to kick off. Thanks to Neolisk for your help and feedback!