Não há como alterar o diretório de trabalho de um processo de fora dele, raiz ou não. Isso seria extremamente perturbador para o processo da vítima, e simplesmente não há API para isso.
Agora você pode usar truques sujos. Um deles é anexar um depurador ao seu processo de destino e forçar um chdir
nele - consulte esta pergunta no Stack Overflow . Alguns sistemas operacionais podem oferecer outras APIs para executar tais tarefas (injetando syscalls em processos desavisados).
Quanto ao seu objetivo de remontar um sistema de arquivos de alguém, isso é essencialmente impossível, mesmo que você tecnicamente consiga hackeá-lo - provavelmente o processo terá descritores de arquivos abertos na montagem "antiga", e não há maneira portátil re-anexá-los corretamente aos arquivos na "nova" montagem, mesmo se os arquivos correspondentes ainda estiverem lá.
Uma abordagem que parece funcionar em teoria seria uma espécie de hibernação dos processos que você quer fora do caminho para essa manutenção. Mas há muitos problemas com isso, especialmente considerando não apenas arquivos simples, mas soquetes de rede. (Veja esta outra questão para alguns pontos interessantes.)
Em suma, você é melhor com um kill
educado (com um período de carência), não se sabe quais conseqüências inesperadas podem surgir de jogos com cwd
em um processo aleatório.