unable to pass value to user prompt from calling shell script

This is my script structure
main script calls configure script which needs to be run as a different user and the configure script calls my application installation script. the application instruction script prompts the user for a directory which I need to pass from my main or configure script.

main script
{
su - user1 -c "exec "configure.sh""
}
configure script
{
echo -e /u0x/tmp2/ | sudo ./INSTALL -silent
}

where install script prompts the user to enter a path which is what i am passing as /u0x/tmp2.

The problem I am facing is that the install script is not accepting the input that I passed to it.

Any pointers to this will be very useful.

Thanks in advance

In what way does it not accept it?

Perhaps the input is coming too soon? ( sleep 1; echo path ) | ./INSTALL

Or perhaps the script actually reads from the terminal, not stdin? Look inside it to see how it prompts for the path. Perhaps there's a way it can be overrided without input at all.

The invoked script (install) pauses at that prompt and is designed not to proceed further until it receives input. Here is the code snippet from the install script

    while [ 1 ]
    do
            echo "Enter the path to directory containing RPMs or <abort> to exit!"
            read RPM_DIR;
            [[ "$RPM_DIR" == "abort" ]] && exit 1
             if [ -d $RPM_DIR ] ******proceeds further to continue installing rpms"
      done

If all it does is read, then there's no reason "echo asdf | whatever" will not work.

Which is why I suspect there's still more to the script.

I just manually executed the script by switching to user 1
echo -e /u0x/tmp2/ | sudo ./INSTALL -silent and the script successfully accepted the input value .

My guess is that the issue occurs due to the way the main script invokes another script and this parameter is not being passed.
su - user1 -c "exec "configure.sh""