Funciona quando você altera manualmente o diretório na linha de comando? Se não, pode ser que você simplesmente não tenha as permissões para ver esse diretório.
Além disso, parece que você está usando uma maneira incrivelmente complicada de alterar um diretório. O que há de errado com
#!/bin/bash ssh -2 [email protected] /bin/sh <<EOF cd "/vmfs/volumes$(grep -m 1 / vmvar_file)" EOF
Além disso, você pode considerar aspas duplas em todas as suas atribuições de variáveis, caso elas resultem em valores com espaços. Falando em espaços, se o seu $esxi_vmfile_path
contiver espaços, ele também poderá tentar mudar para o diretório errado.