Is there a way to reload environment variables in emacs?

Solution 1:

Maybe you could create an external script which collects the names and values of environment variables then sends these name-value pairs to the running emacs via emacsclient, so emacs can set its own environment according to the received values with setenv.