Earlier quoted context omitted.
Unix domain sockets existed in the 90s and would have done the job adequately without evaling anything in transit. Apache transmitting data created by random people to CGI processes using environment variables is most definitely Apaches fault. It was a dumb idea in the 90s and it's a dumb idea now.
Where in the CGI spec does it say anybody has to eval anything?
I think environment variables were used either due to naivity or an ultimately mistaken concept of simplicity.
Sunning up the entire thread: Apache should have used a socket, and should have known they needed to.