You can find the difference between the environments like this:
su <user> printenv su <user> -c "printenv"
You can modify the environment in the second case like this:
su <user> -c "export <varname>=<varvalue>; <more commands...>"
Now for the specific problem I was having, I discovered that I needed the variable DB2INSTANCE
set. So this worked for me:
su <user> -c "export DB2INSTANCE=<user>; /home/<user>/sqllib/bin/db2 catalog tcpip node <dbName> remote <ip> server <port>"