You can't. Thread.Start() only accepts one parameter of type object. But you could for instance pass a custom object or a dictionary instead
Object:
class ThreadParameters {
    public string p1 {get;set;}
    public string p2 {get;set;}
}
static void appUpdater(object p) {
    ThreadParameters tp = p as ThreadParameters;
}
Thread wms = new Thread(new ParameterizedThreadStart(appUpdater));
wms.Start(new ThreadParameters{p1="p1", p2= "p2"});
Dictionary:
static void appUpdater(object p) {
    Dictionary<string, object> tp = p as Dictionary<string, object>;
}
Thread wms = new Thread(new ParameterizedThreadStart(appUpdater));
wms.Start(new Dictionary<string, object>{{"p1", "p1"}, {"p2", "p2}});
But depending on what your needs are, a Task may be the better way.