В этом простом случае самое простое решение - использовать setenv
для изменения значения переменной окружения TZ
непосредственно перед вызовом execl
.(Предположительно, вы fork()
перед вызовом execl
; setenv
следует вызывать после fork()
только в дочернем процессе, чтобы он не изменял среду родителя.)
Вы можете создать весь список окружения и затем передать его в execle
.Но это большая работа для небольшой выгоды.Возможно, вы захотите сделать это, если вы вызываете исполняемый файл setuid, или если вы хотите добавить много переменных окружения, или если ваша библиотека C не имеет setenv
.Но в обычных случаях одиночный вызов setenv
вполне подходит.