Sten Drescher asked about using,
| >* ?[ -n "$1" ]
and Stephen van den Berg answered,
| This line will be given to the shell, which, in turn, will evaluate the $1.
| Since the shell is not started with any arguments (procmail was), this
| doesn't work either.
Interestingly, if the make process found /bin/test when procmail was
compiled, the following would work because it doesn't invoke a shell. Even
if /bin/test invokes a shell, that would happen after procmail does the
evaluation of $1:
* ? test -n "$1"