Doing it in a GUI should be fairly trivial, it's just update/replacement of the file pickers with a few more options.
As far as the command line goes... that's the problem. We don't have any standardization for command line syntax. My first instinct is to try to impose it, but that seems like a "boil the ocean" approach.
Next up, something like pipes? Maybe a new set of delimiters to pipe capabilities, and allow testing of them in some fairly transparent way?
Let's say that ||| pipes a capability
$ select / ||| showcaps
showcaps:
/ - FULL ACCESS
$ select / ||| readonly ||| showcaps
showcaps:
/ - READ ONLY
I'm sure they had something figured out for KeyKOS etc, I don't know what that was.