Char är väl bara ett enda tecken, och det verkar som att du egentligen vill använda en string? char_cmd[128] är förvisso en array med 128 tecken, men fortfarande inte en string.... Längesedan jag pysslade med C men jobba med string istället är mitt tips.
string-klassen är förstås roligare, men vill du använda ren C får du använda strcpy/strncpy. Anledningen till varför du inte kan göra som du gör är för att man bara kan initiera en array (vilket din char_cmd är) när man deklarerar den.