Specifically, the command find '/tmp/vprotect/' -exec ls -ld {} ; is looking for the directory itself, not its contents, and is failing because /tmp/vprotect/ might not exist at the time the command runs (possibly deleted or unmounted temporarily). However, your second command "gps tracker", which uses a wildcard (/tmp/vprotect/*), is directly targeting the contents of the directory and works fine.