Один из популярных вариантов для RPC в языке C - это gRPC. Он предоставляет высокопроизводительное RPC с поддержкой передачи массивов и возврата строк. gRPC также поддерживает множество языков программирования, включая C, и имеет широкое сообщество пользователей и разработчиков.
Также вы можете рассмотреть использование Apache Thrift, который также является популярным фреймворком RPC, поддерживающим передачу массивов и строк в языке C.
Если libsearpc и json-rpc не соответствуют вашим требованиям, создание кастомного текстового протокола с использованием libffi может быть хорошим вариантом. Помните, что создание собственного RPC-фреймворка требует большого объема работы и поддержки, поэтому убедитесь, что вы готовы к такому подходу.