Sustancialmente, no. Si tenía suficientes privilegios (root, o más o menos) y hurgaba en /dev/kmem (memoria del kernel), e hizo cambios en el entorno del proceso, y si el proceso realmente volvió a hacer referencia a la variable de entorno después (es decir, el proceso no había tomado ya una copia de la env var y no estaba usando solo esa copia), entonces tal vez, si tuvo suerte y fue inteligente, y el viento soplaba en la dirección correcta, y la fase de la luna era correcta, tal vez, podrías lograr algo.
Probablemente puedas hacerlo técnicamente (ver otras respuestas), pero puede que no te ayude.
La mayoría de los programas esperarán que los vars env no se puedan cambiar desde el exterior después del inicio, por lo tanto, la mayoría probablemente solo leerá los vars que les interesan al inicio y se inicializarán en función de eso. Por lo tanto, cambiarlos después no supondrá una diferencia, ya que el programa nunca los volverá a leer.
Si publicó esto como un problema concreto, probablemente debería adoptar un enfoque diferente. Si solo fue por curiosidad:Buena pregunta :-).
Vía gdb:
(gdb) attach process_id
(gdb) call putenv ("env_var_name=env_var_value")
(gdb) detach
Este es un truco bastante desagradable y, por supuesto, solo debe realizarse en el contexto de un escenario de depuración.