The problem is the interface is naturally unsafe. Much like e.g. strcpy, the interface means it's nigh impossible to use it safely.
Hence why in parallel with better systems languages, we really need tagged architectures for pointers, like what SPARC V8, Intel MPX, Cherry offer, to become widespread, for better security.
I was replying about the whole UNIX API surface, regarding functions like strcpy.
You need exotic features to guarantee that the memory doesn't get corrupted.
It's access to the environ global that's inherently unsafe. setenv and a modified getenv can be accommodated just fine.
Lets say GNU/Linux does that, what you would do for other UNIX flavours, #ifdef soup?
The goal of standards is exactly to minimize that.
The only way we move forward is by trying new things, and we can't possibly get everyone to try a new thing all at once. If the thing ends up being useful, we standardize it.
POSIX like any other paper standard implies write once debug everywhere.