tcsh não lê espontaneamente /etc/profile
, deve haver algo no script causando isso. Uma possibilidade provável (mas não a única) é que o script começa com #!/bin/tcsh -l
, então o tcsh age como um shell de login. Isso ainda não fará com que ele leia /etc/profile
, mas fará com que ele leia /etc/csh.login
, que pode ler outros arquivos (não sei o que o CentOS envia em csh.login
nem como os administradores do sistema o personalizaram) ).
Depois de ler /etc/csh.login
, tcsh lê ~/.login
. Dependendo de como ele foi configurado, ele pode ler ~/.login
antes, depois ou em vez de ~/.tcshrc
. Portanto, não se esqueça de tentar também substituir PATH
em ~/.tcshrc
.
Se isso não funcionar, modificar o script Python pode ser sua melhor aposta. Se o código estiver em um módulo, você poderá contorná-lo colocando um módulo de wrapper em PYTHONPATH
que carrega o original e faz algumas alterações.
Se isso falhar, não há uma maneira fácil de "redirecionar" o acesso ao executável do programa ou ao tcsh. Isso é possível, em princípio, usando LD_PRELOAD
para envolver algumas funções de acesso a arquivos (se todos os programas envolvidos estiverem dinamicamente vinculados e não configurados [ug] id), mas é muito trabalho.
Pode haver uma maneira mais fácil de entrar no script em algum lugar, por exemplo, sobrescrevendo um dos programas chamados perto do início do script com uma função definida em seu .cshrc
. É difícil ser mais preciso sem ver esse roteiro.