Seu shell atual provavelmente está expandindo a variável $ HOME antes de ser dado ao sudo para execução, portanto, é sempre o mesmo. Experimente por exemplo assim:
sudo bash -c 'echo $HOME'
ou
sudo env |grep HOME
Tentando descobrir o porquê:
me@mypc:~/$ sudo -H echo $HOME
/home/me
me@mypc:~/$ sudo echo $HOME
/home/me
O segundo não deve ser /root
ou estou entendendo errado -H flag?
EDITAR:
Acho que posso estar a olhar para 2 problemas diferentes aqui, o echo'ing $ HOME sempre devolve o mesmo diretório mesmo quando su root
PARA CLARIFICAR: Apenas procurando por um termo leigo para explicar -H flag
Tags sudo