Since I don't often build from source, the solutions to my problems weren't obvious. So I'll share what ended up working. I was surprised to find that I could access gcc though the bash shell and this allowed me to build the bins on the server itself.
The tricks required to compile everything remotely were two switches:
--prefix and --exec-prefix
These allow one to define where the bins and info/library will be installed. Here's an example bash install script that you would run in your $HOME/cgi-bin/ directory.
#Your full absolute path is required
#what you want to reference this application as (creates subdirectory too)
echo "Content-type: text/html";
echo "<title>Build $APP Program</title>";
echo '<h2>Downloading, Expanding, Building</h2>';
curl -LO -k https://software.ecmwf.int/wiki/downloa ... 0.0.tar.gz
tar -xvf grib_api-1.10.0.tar
chmod 777 $APP
chmod 755 configure
./configure --prefix=$HOME/cgi-bin/grib_api/ --exec-prefix=$HOME/cgi-bin/$APP/ --disable-jpeg 2>config-$APP-errors.txt
make 2> make-$APP-errors.txt
make install 2> install-$APP-errors.txt
echo "CONFIG ERRORS:"
echo "MAKE ERRORS:"
echo "INSTALL ERRORS:"
Once it is installed you can go back and set the permission levels to the necessary settings and remove the source and tarballs. Building additional binaries that require shared libraries is easier too with everything in one location on the server.