fix a regression in b743971fad08bb259f8dabef794013ee49dbe381

the regression was that:

    rib -e 'p 123' all

would print 123, while this won't:

    rib all -e 'p 123'

because -e was parsed by all, but without evaluating it and
all quit early. previously, since we eval immediately, this
won't happen. so we can't really delay evaluate.

the question is, i am not very sure if we could initiate the
shell when we're still paring the arguments. could this cause
issues?

we really need tests for rib apps.