Substantiellement, non. Si vous aviez des privilèges suffisants (root, ou à peu près) et que vous avez fouillé /dev/kmem (mémoire du noyau), et que vous avez apporté des modifications à l'environnement du processus, et si le processus a en fait référencé la variable d'environnement par la suite (c'est-à-dire que le processus n'avait pas déjà pris une copie de l'env var et n'utilisait pas uniquement cette copie), alors peut-être, si vous étiez chanceux et intelligent, et que le vent soufflait dans la bonne direction, et que la phase de la lune était correcte, peut-être, vous pourriez réaliser quelque chose.
Vous pouvez probablement le faire techniquement (voir les autres réponses), mais cela pourrait ne pas vous aider.
La plupart des programmes s'attendront à ce que les vars env ne puissent pas être modifiés de l'extérieur après le démarrage, donc la plupart liront probablement les vars qui les intéressent au démarrage et s'initialiseront en fonction de cela. Donc, les changer par la suite ne fera aucune différence, puisque le programme ne les relira jamais.
Si vous avez posté cela comme un problème concret, vous devriez probablement adopter une approche différente. Si c'était juste par curiosité :Bonne question :-).
Via gdb :
(gdb) attach process_id
(gdb) call putenv ("env_var_name=env_var_value")
(gdb) detach
C'est un piratage assez désagréable et ne devrait être fait que dans le contexte d'un scénario de débogage, bien sûr.