Thank you all, sqweek and arvindh :-) I think the most convenient method, for me, is still modifying the 9 script and call p9p programs through 9 when necessary. I said that is due to my consideration: I hope I can stick with bash (I like its readline support) and also play with p9p programs in almost all cases (including sudo where the many non-standard configurations would be ignored, say $PATH, by default).
To be specific, I add necessary settings in 9 script, and link it to /usr/local/bin/9. Then I can invoke p9p programs by 9 script, for example, by `sudo 9 sam'. -- HZ
