I probably should have qualified with “unless they have an extremely good reason for doing so”
That said. Applications likely to be using zdotenv are probably not what you’re talking about here and should not likely be setting env especially since setenv is “dangerous”.
The way you'd do that in Zig is by duplicating and providing that env map to the child process. You wouldn't modify the existing envmap.
You would fork first on POSIX systems.
I've written a shell in zig, you don't need to fork before building the new envmap