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'.