How to declare char array[] using integers?
I think you are getting something wrong about shiftOut(). It will transfer exactly 1 byte (or 1 char). It does not take an array as parameter. I guess you want to write the 8 bits, that you are defining with your ints, as one byte out. Defining at byte directly would look like this:
byte information = 0b00101100;

The 0b tells the compiler, that the following number is encoded in binary. So you have one single byte, that contains all your information (all the bits). Then you can do
shiftOut(data_pin, clock_pin, MSBFIRST, information);

(Please note, that the data_pin and the clock pin need to be different).
If you want to print the information variable to Serial, showing the binary representation, you can use the corresponding parameter of the print() function.
Serial.print(information, BIN);

Will print the binary representation (zeros and ones as text) of the variable. So, to get &quot;B1011001&quot;, you would do:
Serial.print(&quot;B&quot;);
Serial.println(information, BIN);

Note, that the print()/println() function will remove all leading zeros.

How to put the information byte with your ints? Each of them is either zero or one and represents one bit. So you can use the bitwise operators to put them together:
information = (a &lt;&lt; 7) | (b &lt;&lt; 6) | (c &lt;&lt; 5) | (d &lt;&lt; 4) | (e &lt;&lt; 3) | (f &lt;&lt; 2) | (g &lt;&lt; 1) | h;

For each int only the first (Least significant) bit is important, since the others are always zero (because the int can be only one or zero). So we shift the int value to the left by the number of the corresponding bit minus 1 (so shifting a 7 places to the left to put its least significant bit to the most significant bit of information. We are doing that for all our int values. Then we put them all together into one byte by using the | (bitwise OR) operator.
Note: We don't know, where these ints are coming from. Even when stating, that you absolutely need those ints, you could organize them in an array instead of single variables. That would look like this:
int int_data[8] = {0, 0, 1, 0, 1, 1, 0, 0};
...
// in a function (like loop() or setup())
byte information = 0;
for(int i=0;i&lt;8;i++) information |= int_data[7-i] &lt;&lt; i;

It's up to you, if you want to do that.