Вы не можете иметь строку в двойных кавычках внутри строки C без экранирования их:
fp = popen("echo -n \"5b020000.usdhc\" > /sys/devices/platform/5b020000.usdhc/driver/unbind","r");
// ^^ ^^
// Note the escaped double-quotes here
Без кавычек у вас есть строка ""echo -n "
, за которой следует недопустимыйчисло 5b020000.usdhc
, за которым следует строка " > /sys/devices/platform/5b020000.usdhc/driver/unbind"
.
Хотя в этом конкретном случае, показанном в вопросе, вложенные кавычки вообще не нужны.