Me imagino que esto es lo que buscas
http://www.programacionenc.net/index.php?option=com_content&view=article&id=137:hacer-un-programa-que-reciba-parametros-desde-la-linea-de-comandos-&catid=31:general&Itemid=41
Hacer un programa que reciba parámetros desde la línea de comandos
Para hacer un programa tipo consola de modo que pueda recibir parámetros pasados desde la línea de comandos, nuestra función main debe tener la siguiente forma:
int main(int argc, char *argv[])
El primer argumento de la función argc nos indica el número total de parámetros.
Mediante el segundo argumento argv, podemos acceder a los valores de los parámetros pasados al programa, siempre el primer parámetro, es decir argv[0] contiene el nombre del programa.
Ahora vamos a construír un pequeño programa para ilustrar el concepto, el código sería el siguiente:
#include <stdio.h>
int main(int argc, char *argv[])
{
int edad;
if (argc==1)
{
printf("Debes ingresar mas parametros...\n");
return 1;
}
printf("Hola %s, cual es tu edad: ", argv[1]);
scanf("%d", &edad);
printf("Muy bien %s, es un gusto saber que tienes %d de edad...\n", argv[1], edad);
printf("Fin del programa %s...\n\n", argv[0]);
return 0;
}
Suponiendo que hemos grabado el archivo como test.cpp en la carpeta C:\tc\bin, al compilar el código habremos generado el programa test.exe.
Para usarlo desde la línea de comandos vamos a Inicio -> Ejecutar y escribimos cmd, se abrirá entonces la ventana de comandos, primero navegamos al directorio donde está almacenado nuestro programa test.exe y para ejecutarlo podemos escribir:
test adrian
Notar que no hace falta escribir el .exe junto el nombre del programa, bien lo que hacemos en primer lugar es validar el número de parámetros, luego solicitamos la edad y mostramos un mensaje final.
Por lo general, al final colocamos un return 0, con lo cual indicamos que nuestro programa se ejecutó corréctamente, en el caso de error podemos retornar otro valor por ejemplo 1.
Por último una captura del programa:

MAS TEMAS:
http://codigomaldito.blogspot.com/2005/12/parmetros-por-lnea-de-comandos-argc-y.html]http://codigomaldito.blogspot.com/2005/12/parmetros-por-lnea-de-comandos-argc-y.html
https://blogdelingeniero1.wordpress.com/2014/07/24/como-pasar-argumentos-a-la-funcion-main-en-c/]https://blogdelingeniero1.wordpress.com/2014/07/24/como-pasar-argumentos-a-la-funcion-main-en-c/
Supongo que es lo que quieres hacer, el resto lo dejo a tu imaginación, a mi se me ocurre tener un if, desde incicio, si existe parametro, actualizo mi txt, si esta en blanco deja la ip sin tocarla.
Hola! No tiene mucha logica que sea de esa manera, lo ideal es que cuando le pases el parámetro se ejecute con esa ip tal como te lo pase en el script anterior
Ejemplo:
C:>miexe.exe -t 10.0.2.15
Conectando a 10.0.2.15
Caso contrario si quisieras de todas formas hacerlo como tú dices lo que podrías haces es que la funcion utilizada cuando le pasas el parámetro pise la memoria reservada para el array y le deje la nueva ip cuando ejecutas el programa. O algo más simple para empezar es que tengas un txt con una ip y luego cuando ejecutes la función "-t" haga un rw del archivo y se la cambie, una vez ejecutado eso podría seguir corriendo sin problemas.
Saludos.
Estoy de acuerdo con @Cygog, es tal cual te lo dice el, puedes tener, si tiene argumentos actualizas la ip y luego conectas a la ip que se lee del archivo...