LINUX.ORG.RU

История изменений

Исправление LamerOk, (текущая версия) :

Как хочешь, так и заноси туда значения. argv[] же как-то формируют без функций.

argv не является «окружением процесса».

Не знаю, как её не могло быть в POSIX.

Предлагалось жевать альтернативы в духе:

int execl(const char *, const char *, ...);
int execle(const char *, const char *, ...);
int execlp(const char *, const char *, ...);

Что совершенно точно указывает на то, что как минимум одна POSIX-совместимая система не умела забирать переменные среды из произвольного места.

Стандарт описывал в каком формате хранятся переменные и давал **environ.

Какой стандарт?

Исправление LamerOk, :

Как хочешь, так и заноси туда значения. argv[] же как-то формируют без функций.

argv не является «окружением процесса».

Не знаю, как её не могло быть в POSIX.

Предлагалось жевать альтернативы в духе:

int execl(const char *, const char *, ...);
int execle(const char *, const char *, ...);
int execlp(const char *, const char *, ...);

Что совершенно точно указывает на то, что как минимум одна POSIX-совместимая система не умела забирать переменные среды из произвольного места.

Исходная версия LamerOk, :

Как хочешь, так и заноси туда значения. argv[] же как-то формируют без функций.

argv не является «окружением процесса».

Не знаю, как её не могло быть в POSIX.

Предлагалось жевать альтернативы в духе:

int execl(const char *, const char *, ...);
int execle(const char *, const char *, ...);
int execlp(const char *, const char *, ...);
int execv(const char *, char *const []);

Что совершенно точно указывает на то, что как минимум одна POSIX-совместимая система не умела забирать переменные среды из произвольного места.