See procmailex(5) and procmailrc(5).
:0 Wh: msgid.log | formail -D 65536 /home/perry/.msgid.cache
:0: * ^List-Post:.*<!mailto:\/[A-Za-z0-9][-A-Za-z0-9\.@]+ lists/$MATCH :0: * ^Sender: owner-\/[[A-Za-z0-9][[-A-Za-z0-9\.@]+ lists/$MATCH
Before you do this, check that you really need to. Most MTAs will support LMTP delivery now, which is a far more efficient way of delivering to cyrus. Also note that cyrus uses a custom maildir format, so you cannot just drop mail into an appropriate directory.
If you really must use procmail to deliver to cyrus, you'll need a rule such as:
:0 w | /usr/bin/cyrus/bin/deliver -e -a $USER -m user/$USER
But be warned that the user/$USER bit may be dependant upon your cyrus configuration, as will the actual path to cyrus deliver. Do not use a deliver program from a different MTA. It will eat your mail.
2 pages link to ProcmailNotes: