[beaglebone] Interesting sh behaviour

Hi,

I am developing an application on Beaglebone and I faced an interesting problem.

When i execute : "sh /home/root/Desktop/BBTCP/out/vehicleDetect 192.168.10.29 " in terminal it says
“/home/root/Desktop/BBTCP/out/vehicleDetect: /home/root/Desktop/BBTCP/out/vehicleDetect: cannot execute binary file”

But when i execute “cd /home/root/Desktop/BBTCP/” and “sh out/vehicleDetect 192.168.10.29” it starts working??

What is the reason and why I can’t run tha application with first configuration?

Regards

because it's not a shell script?