You can take the bit from the program and give it to the wrapper. The wrapper does all sanity checks it is supposed to do and execs the original program. If all of these operations are performed with the original user's credentials, then it makes no sense to prevent users from running utilities directly because users already have all the rights needed to do whatever those utilities do.
Resistance is futile.
Open your source code and prepare for assimilation. Copyright 1999-2001 Open Source Development Network. All rights reserved.