Hi,
Not sure I understand the full extent of your problem, but here is some
tips:
The directory of the executable should be on the PATH environment
variable on the server side.
If you are using libssh as the client, then I don't think it's libssh's
fault as the shell you acquire just doesn't export the PATH correctly.
You could force the client to export the path by doing:
PATH='/bin/;/sbin/;/usr/bin/;/usr/sbin/;' ssh user@server
If you are using libssh as the server, then perhaps you should export
some default path before you fork/exec.
Alternatively, at least on unix, you can invoke your shell with the -l
option (or depending on the shell set arg0 to a dash (-)) which should
give you a proper login shell with the environment pre-prepared.
Thanks,
Audrius.