Заливаешь файл на сервер. В php скрипте (выполняемом сервером) вылавливешь из массива FILES имя временного файла, под которым он залился на сервер и под которым он там уже лежит, натравливаешь всё что нужно на этот файл, выполняя хоть awk с параметром, хоть что ещё.Как запускать здесь. exec, system, обратные кавычки...
http://uk2.php.net/manual/ru/book.exec.php
В настройках php может быть запрещено выполнение команд
Про FILES здесь
http://uk2.php.net/manual/ru/reserved.variables.files.php
Заливка может быть запрещена
>> Я пытаюсь получить данный массив с именем файла, вызывая php - строку из своего upload.sh
Или я не понял что-то...
Заливает Apache потом передаёт своему модулю (mod_php) всю инфу. Ну или формирует переменные окружения для скрипта. Как, запустив не сервером, php скрипт, получить в него данные конкретного процесса Apache я, лично, не знаю.