aflag=
bflag=
while getopts :ac name "$@"
do
case $name in
a) aflag=1 ;;
c) cflag=1 ;;
?) exit 2;;
esac
# this came in in a bug report -- it's really a usage error
# but it shouldn't cause the shell to crash
shift
done
if [ ! -z "$aflag" ] ; then echo -a specified ; fi
if [ ! -z "$cflag" ] ; then echo -c specified ; fi
if [ "$OPTIND" -gt 1 ]
then
shift $(( $OPTIND - 1 ))
fi
echo remaining args: "$*"
exit 0