So here is the command output from both machines
from real hardware
# which mkdir
/bin/mkdir
#
#
# echo $PATH
/bin:/usr/bin:/sbin:/usr/sbin:/proc/boot
# env
_=/usr/bin/env
SSH_CONNECTION=xxx
PATH=/bin:/usr/bin:/sbin:/usr/sbin:/proc/boot
SHELL=/bin/sh
USER=root
MAIL=/var/spool/mail/root
HOME=/
SSH_CLIENT=xxx
TERM=xterm
SSH_TTY=/dev/ttyp0
LOGNAME=root
#
and below is the output from VM
# echo $PATH
/proc/boot:/bin:/usr/bin:/sbin:/usr/sbin:/usr/lib
# which mkdir
which: no mkdir in /proc/boot:/bin:/usr/bin:/sbin:/usr/sbin:/usr/lib
# env
_=/usr/bin/env
PATH=/proc/boot:/bin:/usr/bin:/sbin:/usr/sbin:/usr/lib
PCI_BKWD_COMPAT_MODULE=/lib/dll/pci/pci_bkwd_compat.so
PCI_SLOG_MODULE=/lib/dll/pci/pci_slog2.so
PCI_BASE_VERBOSITY=0
LD_LIBRARY_PATH=/proc/boot:/lib:/usr/lib:/lib/dll:/lib/dll/pci
PCI_DEBUG_MODULE=/lib/dll/pci/pci_debug2.so
PCI_HW_MODULE=/lib/dll/pci/pci_hw-xzynq-zcu102.so
HOME=/
TERM=qansi
ENV=/etc/profile
SYSNAME=nto
# cd bin/
# ls
canctl ksh slay
cat ln slog2info
chmod login slogger2
cp ls stty
dd mount su
dev-can-xzynq mv sync
df on umount
du passwd uname
getmac-i2c-zcu102 pidin waitfor
hostname rm
isendrecv sh
Does this could be the possible solution ?