Зависит от того, какие технологии вам удобнее, что вы уже установили и работаете на своих серверах, и каковы ваши требования к нагрузке.
Как насчет сырого CGI? Предполагая, что код C не поддерживает состояния между запросами, вы можете сделать это, не изменяя библиотеку вообще. Напишите простой скрипт, который извлекает параметры запроса из среды CGI, возможно, очищает входные данные, вызывает библиотеку через интерфейс командной строки и упаковывает результат в любой ответ HTTP, который вы хотите. Затем настройте Apache для отправки соответствующих URL-адресов в этот сценарий. Например, Python поддерживает библиотеку XML-RPC, как и любой другой язык сценариев, используемый в Интернете.
Сервлеты звучат как излишние, но, например, если вам нужно несколько запросов на один экземпляр процесса CGI, и вы не хотите вмешиваться в конфигурацию Apache, тогда будет проще всего придерживаться того, что вы знаете.