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.
#!/bin/bash
#Your full absolute path is required
HOME="/home/user/public_html";
#what you want to reference this application as (creates subdirectory too)
APP="grib-api";
echo "Content-type: text/html";
echo "";
echo '<html>';
echo '<head>';
echo "<title>Build $APP Program</title>";
echo '</head>';
echo '<body>';
echo '<h2>Downloading, Expanding, Building</h2>';
echo "<pre>";
curl -LO -k https://software.ecmwf.int/wiki/downloa ... 0.0.tar.gz
gunzip grib_api-1.10.0.tar.gz
tar -xvf grib_api-1.10.0.tar
mkdir $APP
chmod 777 $APP
cd grib_api-1.10.0
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 ""
echo "CONFIG ERRORS:"
cat config-$APP-errors.txt
echo ""
echo "MAKE ERRORS:"
cat make-$APP-errors.txt
echo ""
echo "INSTALL ERRORS:"
cat install-$APP-errors.txt
echo "</pre></body></html>"
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.