С++. Создание и инициализация произвольного std контейнера через template?
Если же vector хочется оставить, а убрать только int, тогда даже дополнительного класса не нужно. Правда, нужно учитывать, что у std::vector на самом деле два параметра шаблона.
template<template<typename U, typename Allocator> class Container, typename T, size_t n>
Container<T, allocator<T> > ContainerMake(const T(&array)[n])
{
	return Container<T, allocator<T> >(array, array + n);
}

const int vals1[] = {0, 1, 2, 3, 4};
vector<int> vct1 = ContainerMake<vector>(vals1);


Что именно вы хотите получить, может быть напишете больше примеров кода, который хотите звать, чтобы сконвертировать.
В вашем текущем конкретном случае можно передавать vec1 по ссылке в ContainerMake. Тогда добавите пару параметров шаблона для метода и все будет хорошо.
А вообще можно конечно и нагородить с использованием специализаций шаблонов (но это для структур, т.е. они будут типа фабрик) http://habrahabr.ru/post/54762/