пишешь "класс" Environment. Он в статике при запуске дёрнет один раз getenv. Он будет предоставлять нормальное чтение и запись всем остальным. Потокобезопасно и красиво
Minoru в процессе выполняется не только твой собственный код, но и куча другого кода из всех либ, с которыми ты линкуешься. Они все должны пользоваться этим Environment, иначе у них будет разное представление об окружении
Minoru сказал. У тебя позиция «не надо юзать говно». Эта позиция бесполезна, потому что на данный момент всё говно — не-говна нет, потому что нет нормального интерфейса взамен getenv/setenv