Самое простое решение - стереть элементы:
v.erase(v.begin() + N2, v.end());
При желании можно уменьшить зарезервированный размер:
v.shrink_to_fit();
Вы также можете использовать другую перегрузку std::move
для создания нового вектора, содержащего подмножество элементов:
std::vector<T> filtered;
filtered.reserve(N2);
std::move(v.begin(), v.begin() + N2,
std::back_insert_iterator(filtered));
return filtered;