I have to find the minima of the equations of the form \begin{equation} minimize \enspace c^\top x. \end{equation} Here $c$ is an unknown positive real value vector with entries taking value between 0 and 1, and $x$ is an unknown binary random vector. Clearly, when $x$ is unconstrained the minima is 0.
But I do have some restrictions on $x$ and not all the elements can not be zero at the same time. But of course, these constraints depends on the corresponding values of $c$.
What is the general strategy for finding an approximate solution in these settings ?
It is going to depend on the sort of constraints you are given in your problem. For example, if these constraints are linear, meaning that they are of the form $A \mathbf{x} \leq \mathbf{b}$ for some vector $\mathbf{b}$, then your problem lies in what is known as linear programming. I suggest you to take a look into the Wikipedia article to see which of the variants mentioned there fits best to your particular case.
You mention in the question that your vector of variables $\mathbf{x}$ is binary, meaning that each $x_i \in \{0,1\}$. Then your problem is a binary integer programming problem or 0-1 integer programming.
If your constraints are non-linear, then your problem is a nonlinear programming problem. In this case, you might want to take a look at what is known as Karush-Kuhn-Tucker conditions which under certain regularity constraints provide necessary conditions for a solution to be optimal.
As for the general strategy to approach this optimization problems, I don't think there isn't one but several different algorithms depending on the problem you want to solve (Simplex algorithm, branch and cut algorithms, cutting-plane...) The Wikipedia article I linked mentions various possibilities.