Eu poderia pensar em uma maneira bastante artificial de fazer isso, e não funcionará para processos arbitrários.
Suponha que você escreva sua própria biblioteca compartilhada que implementa 'char * getenv'. Em seguida, você configura env 'LD_PRELOAD' ou 'LD_LIBRARY_PATH'. vars para que ambos os processos sejam executados com a biblioteca compartilhada pré-carregada.
Dessa forma, você terá essencialmente um controle sobre o código da função 'getenv'. Então, você poderia fazer todos os tipos de truques desagradáveis. Seu 'getenv' pode consultar o arquivo de configuração externo ou segmento SHM para valores alternativos de env vars. Ou você pode fazer pesquisa / substituição regexp nos valores solicitados. Ou ...
Não consigo pensar em uma maneira fácil de fazer isso para processos arbitrários em execução (mesmo se você for root), exceto reescrever o vinculador dinâmico (ld-linux.so).