Hmmm. I'm not quite sure about what the best-practice approach would be here.
I use cron to run scheduled tasks under the DB2 instance user on one of my production systems, but I am Great High God of both the OS and DB2 so I can do any darned thing I please.
The system cron facility can run under any userid - in fact, it
requires a userid. So that's one way to do it. But it does require that you be drinking buddies with both the database server's sysadmin and the db2 DBA. And that the database server be running Linux. Windows should have a task control equivalent, but I haven't touched Windows in a while. Except to do my taxes.
DAS is supposed to have been replaced with something better, so I'd first check with IBM and see what the "better" approach is. Unless you're actually meddling with filesystem-level stuff or other externals (my cron scripts run theserver's hot backups), then it's usually preferable to use DB2 stored procedures to do your work and avoid the shell environment entirely.
As far as "su" goes, I don't have to worry about passwords, since the script in question runs under cron as root. Like I said, I'm God, so I have the option to do so. The reason cron runs it as root is that it's actually backing up different database products, each of which interacts under a different userID.
I do recommend that when invoking external programs you use scripts instead of raw commands, though. It's easier to insert debugging statements plus, of course, the command sequence can be as simple or as complex as you need.