Set User ID Bit And Shared Object

I have one app binary 'main' which is dependent on shared object libfoo.so
owner of main and libfoo.so is user 'oracle:dba'

> ldd main
libfoo.so => ./libfoo.so
libCstd.so.1 => /usr/lib/libCstd.so.1
libCrun.so.1 => /usr/lib/libCrun.so.1
libm.so.2 => /lib/libm.so.2
libc.so.1 => /lib/libc.so.1

Also I have one shell script 'back.sh' which invokes 'main' binary
Owner of this script is user oracle:dba and this script also as a set user ID bit set.

> ls -l back.sh
-rwsrwx--- 1 oracle dba 120 Mar 19 15:02 back.sh

> cat back.sh
#!/bin/sh
LD_LIBRARY_PATH=/app/lib; export LD_LIBRARY_PATH
/app/bin/main

Now I have one more user oraback:dba. who wants to execute this shell script. but every time he tries to execute 'back.sh' he is getting following error.

> ./back.sh
ld.so.1: main: fatal: libfoo.so: open failed: No such file or directory
Killed

Basically when script is excecuted by 'oraback' user main binary is failing to lolate its dependant shared objects .
Please let me know if you know the solution .

Thanks,
Vijay

Cross post, continue here: