It sounds like you don't so much as want a full list each time the script is run but rather a list of any new/uknown files that are set suid/guid. If that's so then:
Get a list of current results:
# find / -path '/proc' -prune -perm -4000 -o -perm -2000
/usr/bin/write
/usr/bin/wall
/usr/bin/crontab
/usr/bin/locate
/usr/bin/ssh-agent
Create a shell script that find and compares the results to the previous list. The list is just a variable in the script. You could have it be it's own file though.
#!/bin/bash
approved="
/usr/bin/write
/usr/bin/wall
/usr/bin/crontab
/usr/bin/locate
/usr/bin/ssh-agent
"
results=$(/usr/bin/find / -path '/proc' -prune -perm -4000 -o -perm -2000)
for line in $results; do
if ! echo -n $approved | /bin/grep -q $line; then
ls -a $line
fi
done
Result when new file shows up:
# ./suid_check.sh
/sbin/netreport
Throw it in cron and configure cron to email STDOUT.