Você poderia dar alguns argumentos à shell, para que ela comece de forma um pouco diferente. por exemplo.
/bin/sh -c "cd /mnt/flash;exec /bin/sh"
Começando com -c
, que executará comandos na sequência seguinte.
O primeiro comando é a mudança de diretório, seguida por exec
, que iniciará um novo shell (no mesmo processo) que agora está iniciando no diretório desejado.
Atualização:
Se o shell busybox estiver sendo usado, há um problema ao iniciar um shell de login, pois o busybox não aceita a opção -l
. Use o comando dot .
para originar comandos de seu (s) perfil (s) antes de você fazer o exec
eg
/bin/sh -c "cd /mnt/flash;. /etc/profile;exec /bin/sh"