А команду получать неоткуда.
хотите сказать что lxnm->setting->команда
не инициализированы?
а ниже, начиная с 403 строчки, например:
lxnm->setting->eth_up = g_key_file_get_string(keyfile, "ethernet", "up", NULL);
так понимаю считывается строчка какая-то из конфиг файла(/lxnm/lxnm.conf)? может она и предполагается потом как команда?
вот конфиг файл читается(397):
if (!g_key_file_load_from_file (keyfile, PACKAGE_DATA_DIR "/lxnm/lxnm.conf", flags, &error))
---
еще
после ./configure в каталоге data как раз появляется lxnm.conf где все команды и прописаны
------
и еще
там не то что бы ругань - куча warning'ов, несущественные:
pthread_create() в третьем аргументе ждет указатель на void, а ему указатель на int подсовывают
можно тип привести, ругани не будет, пример:
pthread_create(&actionThread, NULL,
(void *)ethernet_up, (void *)cmdstr+2);