The terrible thing is that there already is an API here that everyone else on UNIX is using successfully - spawn a process with an argv of null-terminated strings and they turn up in the argv of the spawned process.
Microsoft have just chosen not to make it work like that because that would involve admitting they were wrong.
Microsoft have just chosen not to make it work like that because that would involve admitting they were wrong.