スクリプトではない普通の実行ファイルなら、
ls -l /proc/$PID/exe
のように/proc/プロセスID/exeにシンボリックリンクとして実行ファイルのパスが見えます。
スクリプトの場合は /proc/プロセスID/cmdline に "\0"(NUL文字) 区切りで実行したコマンドラインが入っているので、そのコマンドラインと /proc/プロセスID/cwd にシンボリックリンクとして見えるそのプロセスのカレントワーキングディレクトリ(と必要なら/proc/プロセスID/rootにシンボリックリンクとして見えるそのプロセスからみたルートディレクトリ(chrootで変わる))から推測するしかなさそうです。
スクリプトで、すでにchdirしている後だと無理そうです。
http://www.linux.or.jp/JM/html/LDP_man-pages/man5/proc.5.html
基本的には1の回答と同じです。
/proc 以下に実行中のプロセス情報がファイルとして見えますので、そこから探し出す形になります。
http://www.atmarkit.co.jp/flinux/special/proctune/proctune01b.ht...