Leia este pergunta em stackoverflow.com e esta resposta pelo usuário grawity em superuser.com
Você não deve usar $HOME em init.d , porque não está claro qual usuário usar em casa, até que este usuário faça o login.
Citação da especificação POSIX :
HOME
The system shall initialize this variable at the time of login to be a pathname
of the user's home directory. See <pwd.h>.
Você pode usar um pequeno hack, para obter a pasta home do usuário myuser no seu script
su - myuser -c /usr/bin/env | grep HOME
É melhor usar o script abaixo, porque geralmente pode haver outras pastas HOME_* . Como JAVA_HOME etc.
su - myuser -c /usr/bin/env | grep "^HOME="