У вашего процесса есть собственная копия среды, и все ваши изменения влияют на эту копию. Единственные другие программы, которые увидят ваши изменения - это дочерние процессы, которые вы запускаете, и они увидят, что ваше окружение застыло во времени, когда вы породите дочерний процесс. Программа, которая запустила вашу программу, останется без изменений.
Из-за этого ваш комментарий о перезапуске приложения не имеет смысла. Новый экземпляр получит копию среды родительского процесса, а не ту, в которую вы вносили изменения. (OTOH, если ваша программа запустит новую копию, она унаследует ваш измененный блок среды.)