La que te dice Astor es cierto, fijar una variable de entorno desde C no la hace visible para todo el mundo. Unicamente quedaría visible para otros procesos que arranque el mismo programa de C (con un fork() o similar).
De todas formas, para fijar y ver variables de entorno desde C, tienes las funciones de C getenv() y putenv().
Se bueno.