And that basically works if you only are using exec.Run to start child processes and passing in os.Environ() as the envv parameter.
But yeah, it won't work if you're making calls into C which is then checking getenv.
It's probably worth fixing, with documentation if nothing else. Want to file an issue?