Using a filter on all other email programs would be the best, most reliable way (as described above by Jeff S).
However if you'd like a simpler (but less reliable) way to do it globally from the engagement program you could mark all active members of the Engagement program as Marketing Suspended except when the program is scheduled for a cast.
So all members of the engagement program who are neither exhausted nor paused would be marked with Marketing Suspended = True until just before your Engagement program cast. Just before the cast you would set Marketing Suspended to False (otherwise the engagement program won't send them an email) and then once the cast is complete mark them Marketing Suspended again.
Leads that are in the engagement program but not receiving emails (exhausted or paused) should not be marked Marketing Suspended.